/**
 * contact服务
 *
 * @author sxf
 * @email sxf02615@163.com
 * @date 2025/1/15
 */
package com.sxf.crm.service;


import com.sxf.crm.dto.ContactRequest;
import com.sxf.crm.entity.Contact;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * 
 * @author sxf
 * @email sxf02615@163.com
 * @date 2025/6/1
 */
public interface ContactService {
    Page<Contact> getContacts(String name, Pageable pageable);
    
    void clearContactDepartments(Long contactId,Long currentUserId);
    
    Contact getContact(Long id);
    
    Contact createContact(ContactRequest request,Long currentUserId);
    
    Contact updateContact( Contact request,Long currentUserId);
    
    void deleteContact(Long id,Long currentUserId);

    Page<Contact> getCustomerContacts(Long customerId, Pageable pageable);
    
    void addContactDepartment(Long contactId, Long departmentId,Long currentUserId);
    
    void removeContactDepartment(Long contactId, Long departmentId,Long currentUserId);
}
